package com.wh.wisdomsite.xbox.core.builder;

import com.wh.wisdomsite.xbox.common.XboxContext;
import com.wh.wisdomsite.xbox.core.impl.DefaultXboxRequestContext;
import com.wh.wisdomsite.xbox.common.XboxRequest;
import javax.servlet.http.HttpServletRequest;

/**
 * 请求上下文构造器接口
 * 声明RequestContextBuilder接口, 从WebRequest中获取参数,DefaultXboxRequestContext
 * @Package com.wh.wisdomsite.xbox.core.builder
 * @author 谢泽鹏
 * @date 2014年10月8日 下午4:02:14
 * @Copyright 个人版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2014
 * @version V1.0
 */
public interface RequestContextBuilder {

    /**
     * 根据reqeuest请求对象，创建{@link DefaultXboxRequestContext}实例。绑定系统参数，请求对象
     * @param xboxContext
     * @param request
     * @return
     */
    DefaultXboxRequestContext buildBySysParams(XboxContext xboxContext, HttpServletRequest request);


    /**
     * 根据Request对象,绑定业务参数 到请求对象 {@link XboxRequest}
     * @param xboxRequestContext
     */
    void bindBusinessParams(DefaultXboxRequestContext xboxRequestContext);
}
